<?php

class ProfesoresController extends AppController {
	
	public $name = 'Profesores';
	public $uses = array("Profesor","Usuario","Lectiva","Curso","Nolectivo","Ciclo");
	
	
	function datos(){
		$usu = $this->Session->read("Usuario");

		$this->layout = "docente";

		$profesor = $this->Profesor->findByUsuariosId($usu['id']);
		$usuario = $this->Usuario-> findById($usu['id']);
		$this->set("profesor",$profesor);
		$this->set("usuario",$usuario);
		
		if(!empty($this->data)){
				$dataProfesor =  $this->data["Profesor"];
		    	$dataUsuario = 	$this->data["Usuario"];
				$id=  $dataProfesor["usuarios_id"];
				$original = $dataUsuario["clave"];
				$verifica = $dataUsuario["repetida"];
				
						
				if($this->Profesor->save($dataProfesor)){
							
					$usuario = $this->Usuario->findById($id);
					
			 		if($original != ""){		
						if($original == $verifica){
							$usuario["Usuario"]["clave"]= md5($dataUsuario["clave"]); 						
						}else{
					    	$usuario["Usuario"]["clave"]= "";															
						}
			 		}else{
			 			$usuario["Usuario"]["clave"]= "";	
					}
				
					if($this->Usuario->save($usuario["Usuario"])){
						$this->Session->setFlash('Los datos han sido actualizados','success');
						$this->redirect(array('controller'=>'Profesores','action'=>'cargalectiva'),null,true);
					}else{
						
					}
	
				}else{
					$this->Session->setFlash('Los datos no fueron registrados. Inténtelo de nuevo');
				}
		}
	}
	
	function nuevonolectivo(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}

		$ciclos = $this->Ciclo->find("all");
		$this->set("ciclos", $ciclos);
		
		if(!empty($this->data)){		
	 		$dataNolectivo = $this->data;
			$nolectivo = $this->Nolectivo->create();

			$profesor = $this->Profesor->findByUsuariosId($usu['id']);
			
		    $id = $profesor['Profesor']["id"];
			
			$dataNolectivo["Nolectivo"]["profesores_id"] = $id;
			
			
			if($this->Nolectivo->save($dataNolectivo["Nolectivo"])){				
				$this->Session->setFlash('Se registró con éxito','success');
				$this->redirect(array('controller'=>'Profesores','action'=>'carganolectiva'),null,true);
			}
		}
	}
	
	function detallenolectiva(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		if(empty($this->data)){
			$id = $this->params["url"]["id"];
			$nolectivo = $this->Nolectivo->findById($id);
			$this->set('nolectivo',$nolectivo);	
		}
		
		//Si se ha editado algún dato
		if(!empty($this->data)){
				//se modificaran los datos
				$dataNolectivo =  $this->data;	
				$id = $dataNolectivo["Nolectivo"]["id"];
				$nolect = $this->Nolectivo->findById($id);
				
				if($this->Nolectivo->save($dataNolectivo["Nolectivo"])){
					$this->Session->setFlash('Los datos de la carga han sido actualizados','success');
					$this->redirect(array('controller'=>'Profesores','action'=>'carganolectiva'),null,true);
					
				}else{
					$this->Session->setFlash('Los datos de la carga no fueron registrados. Inténtelo de nuevo');
				}
		}
	}
	
	function detallelectiva(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		if(empty($this->data)){		
			$idLectiva = $this->params["url"]["id"];
			$lectiva = $this->Lectiva->findById($idLectiva);		
			$this->set("lectiva", $lectiva);
		}
		
		$cursos = $this->Curso->find("all");
		$ciclos = $this->Ciclo->find("all");
		$this->set("cursos", $cursos);
		$this->set("ciclos", $ciclos);
		
		if(!empty($this->data)){		
	 			$dataLectiva= $this->data;
				
				if($this->Lectiva->save($dataLectiva["Lectiva"])){
					$this->Session->setFlash('Los datos de la carga han sido actualizados','success');
					$this->redirect(array('controller'=>'Profesores','action'=>'cargalectiva'),null,true);
					
				}else{
					$this->Session->setFlash('Los datos de la carga no fueron registrados. Inténtelo de nuevo');
				}
		}
	}
	
	function nuevolectiva(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		$cursos = $this->Curso->find("all");
		$ciclos = $this->Ciclo->find("all");
		$this->set("cursos", $cursos);
		$this->set("ciclos", $ciclos);
		
		
		if(!empty($this->data)){		
	 		$dataLectiva= $this->data;
			$lectiva= $this->Lectiva->create();

			$profesor = $this->Profesor->findByUsuariosId($usu['id']);
			
		    $id = $profesor['Profesor']["id"];
			
			$dataLectiva["Lectiva"]["profesores_id"] = $id;
			
			
			if($this->Lectiva->save($dataLectiva["Lectiva"])){				
				$this->Session->setFlash('Se registró con éxito','success');
				$this->redirect(array('controller'=>'Profesores','action'=>'cargalectiva'),null,true);
			}
		}
		
	}
	
	
	function borrar(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		$id = $this->params["url"]["id"];
		
		$profesor = $this->Profesor->findById($id);
		$idUuario = $profesor["Profesor"]["usuarios_id"];
		//eliminamos los usuarios
		
		$conditions["profesores_id"] = $id;
		$this->Lectiva->deleteAll($conditions,true);
		$this->Nolectivo->deleteAll($conditions,true);		
		//eliminamos el profesor
		$this->Profesor->delete($id,true);
		
		$this->Usuario->delete($idUuario, true);
		$this->Session->setFlash('Se eliminó el profesor','success');
		$this->redirect(array('controller'=>'Usuarios','action'=>'listardocentes'),null,true);
	}
	
	function cargalectiva(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		if($this->Session->check("Usuario")){
			$usuario = $this->Session->read("Usuario");
			
			$profesor = $this->Profesor->findByUsuariosId($usuario["id"]);
			$lectivas = $this->Lectiva->find('all', array('conditions' => array('Lectiva.profesores_id' => $profesor["Profesor"]["id"])));
			//$lectivas=$this->Lectiva->find("all");
			$cursos = $this->Curso->find("all");
				
			$this->set("profesor", $profesor);	
			$this->set("lectivas", $lectivas);
			$this->set("cursos", $cursos);
		}
	}
	
	function carganolectiva(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		if($this->Session->check("Usuario")){
			$usuario = $this->Session->read("Usuario");
			
			$profesor = $this->Profesor->findByUsuariosId($usuario["id"]);
			$nolectivas = $this->Nolectivo->find('all', array('conditions' => array('Nolectivo.profesores_id' => $profesor["Profesor"]["id"])));
			//$nolectivas=$this->Nolectivo->find("all");
			$cursos = $this->Curso->find("all");
				
			$this->set("profesor", $profesor);	
			$this->set("nolectivas", $nolectivas);
			$this->set("cursos", $cursos);
		}
	}
		
	function nolectiva(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		$usuario = $this ->Session ->read("Usuario");
		$id = $usuario["Profesor"]["id"];
		
		$profesores = $this->Profesor->findById($cursos["Curso"]["id"]);
		
		$cursos = $this->Curso->find("all");
		$profesores = $this->Profesor->findById($cursos["Curso"]["id"]);		
		$this->set("cursos", $cursos);
		$this->set("profesores", $profesores);
	}
		
	function nuevo(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		if(!empty($this->data)){
				
	 		$dataProfesor= $this->data;
			$usuario= $this->Usuario->create();
			$usuario["Usuario"]["usuario"] = $dataProfesor["Profesor"]["usuario"];
			$usuario["Usuario"]["clave"] = md5($dataProfesor["Profesor"]["clave"]);
			$usuario["Usuario"]["rol"] = 2;
							
			if($this->Usuario->save($usuario["Usuario"])){						
				$id = $this->Usuario->id;
				$profesor= $this->Profesor->create();
				$dataProfesor["Profesor"]["usuarios_id"] = $id;			
				$profesor["Profesor"] = $dataProfesor["Profesor"];
						
				$this->Profesor->save($profesor["Profesor"]);		
				$this->Session->setFlash('Se registró el profesor','success');
				$this->redirect(array('controller'=>'Usuarios','action'=>'listardocentes'),null,true);
			}			
		}
	}
	
	function detalle(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		if(empty($this->data)){
			$id = $this->params["url"]["id"];
			$profesor = $this->Profesor->findById($id);
			$this->set('profesor',$profesor);
		}
		
		
		if(!empty($this->data)){
				$dataProfesor =  $this->data["Profesor"];

				if($this->Profesor->save($dataProfesor)){

					$this->Session->setFlash('Los datos del docente han sido actualizados','success');
					$this->redirect(array('controller'=>'Usuarios','action'=>'listardocentes'),null,true);
	
				}else{
					$this->Session->setFlash('Los datos del docente no fueron registrados. Inténtelo de nuevo');
				}
		}
	}
	
	function listarnolectivanombrados(){			
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		$conditions=array();
		$conditions['Profesor.tipo'] = 0;	
				
		$profesores = $this->Profesor->find("all",array("conditions"=>$conditions));
		$nolectivos=$this->Nolectivo->find("all");
		$cursos = $this->Curso->find("all");	
				
		$this->set("profesores", $profesores);	
		$this->set("nolectivos", $nolectivos);
		$this->set("cursos", $cursos);
	}
	
	function listarnolectivacontratados(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		$conditions=array();
		$conditions['Profesor.tipo'] = 1;	
				
		$profesores = $this->Profesor->find("all",array("conditions"=>$conditions));
		$nolectivos=$this->Nolectivo->find("all");
		$cursos = $this->Curso->find("all");
				
		$this->set("profesores", $profesores);	
		$this->set("nolectivos", $nolectivos);
		$this->set("cursos", $cursos);
	}	
	
	function listarlectivanombrados(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		$conditions=array();
		$conditions['Profesor.tipo'] = 0;	
				
		$profesores = $this->Profesor->find("all",array("conditions"=>$conditions));
		$lectivas=$this->Lectiva->find("all");
		$cursos = $this->Curso->find("all");
			
				
		$this->set("profesores", $profesores);	
		$this->set("lectivas", $lectivas);
		$this->set("cursos", $cursos);
	}
	
	function listarlectivacontratados(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		$conditions=array();
		$conditions['Profesor.tipo'] = 1;	
				
		$profesores = $this->Profesor->find("all",array("conditions"=>$conditions));
		$lectivas=$this->Lectiva->find("all");
		$cursos = $this->Curso->find("all");
				
		$this->set("profesores", $profesores);	
		$this->set("lectivas", $lectivas);
		$this->set("cursos", $cursos);
	}
	
	function listarlectivasistemas(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		$conditions=array();
		$conditions['Curso.escuela'] = 'eapis';	
				
		$cursos = $this->Curso->find("all",array("conditions"=>$conditions));
		$lectivas = $this->Lectiva->find("all");
		$profesores = $this->Profesor->find("all");
				
		$this->set("profesores", $profesores);	
		$this->set("lectivas", $lectivas);
		$this->set("cursos", $cursos);
	}
	
	function listarlectivasoftware(){
		$usu = $this->Session->read("Usuario");
		switch($usu["rol"]){	
			case 0:$this->layout = "default";break;
			case 1:$this->layout = "escuela";break;
			case 2:$this->layout = "docente";break;
		}
		
		$conditions=array();
		$conditions['Curso.escuela'] = 'eapisw';	
				
		$cursos = $this->Curso->find("all",array("conditions"=>$conditions));
		$lectivas=$this->Lectiva->find("all");
		$profesores = $this->Profesor->find("all");
				
		$this->set("profesores", $profesores);	
		$this->set("lectivas", $lectivas);
		$this->set("cursos", $cursos);
	}		

	function borrarlectiva(){

		$id = $this->params["url"]["id"];

		if($this->Lectiva->delete($id)){
			$this->Session->setFlash('Se eliminó el registro correctamente','success');
			$this->redirect(array('controller'=>'Profesores','action'=>'cargalectiva'),null,true);
		}else{
			$this->Session->setFlash('El registro no fue eliminado. Inténtelo de nuevo');
		}
	}
		
	function borrarnolectiva(){

		$id = $this->params["url"]["id"];

		if($this->Nolectivo->delete($id)){
			$this->Session->setFlash('Se eliminó el registro correctamente','success');
			$this->redirect(array('controller'=>'Profesores','action'=>'carganolectiva'),null,true);
		}else{
			$this->Session->setFlash('El registro no fue eliminado. Inténtelo de nuevo');
		}
	}
}

?>